home *** CD-ROM | disk | FTP | other *** search
/ Netware Super Library / Netware Super Library.iso / inet_tcp / ftpd18 / ftpd.txt < prev    next >
Text File  |  1993-02-26  |  14KB  |  440 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                       F R E E W A R E
  11.  
  12.  
  13.                    F T P   Server NLM for
  14.  
  15.                     Novell Netware 3.11
  16.  
  17.  
  18.                 Copyright 1992, by HellSoft
  19.  
  20.  
  21.           Comments and bugs to "meloun@vision.felk.cvut.cs"
  22.         New versions "/pub/nw311/ftpd:novell.felk.cvut.cs"
  23.  
  24.  
  25.              Written at Czech Technical University,
  26.                    Prague, Czech Republic
  27.                         E U R O P E
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.   Introduction and Features
  52.  
  53. This FTPD server allows Internet access to Novell network.
  54. It is written according to RFC959 specification.
  55.  
  56.  
  57. Features: - Up to 32 concurrent connections
  58.           - Anonymous connection
  59.           - Transactions logins
  60.           - Access restrictions
  61.           - Access to other Novell servers, including servers running
  62.             versions lower than 3.11.
  63.           - On-line info when logging and changing directories
  64.           - MAC name space and MACBINARY transfer supported
  65.       - LAN Workplace compatibility
  66.  
  67. If you have more than one Novell server in your network, it is possible run
  68. FTP on only one of them. FTPD allows to login to another server by entering
  69. the Netware server name together with the user name ("server123/user").
  70.  
  71. System requirements
  72.  FTPD NLM requires Novell Netware Server v3.11. Modules CLIB.NLM, TCPIP.NLM
  73.  and RESOLV.NLM must be loaded. (RESOLV.NLM is avaliable at "novell.felk.cvut.cs" 
  74.  in directory  "/pub/nw311/resolv"). RESOLV.NLM does the name translation, but
  75.  if you have no name server you must run RESOLV.NLM anyway, with no parameters.
  76.  
  77.  
  78. Loading of the FTPD server:
  79.  
  80.  load  [path]FTPD {use [file]} {connections [number]}
  81.  
  82.  
  83.   use [file]
  84.     Specifies configuration file name.
  85.     Default: sys:system/ftpd.cfg
  86.  
  87.       load ftpd use sys:system/ftpd/config.ftp
  88.  
  89.  
  90.   connections [number]
  91.     Determines maximum number of concurrent connections.
  92.     Default: 5
  93.     Maximum: 32
  94.  
  95.      load ftpd connections 20
  96.  
  97.  
  98. FTPD Command line:
  99.  ftpd enable disable use {file}.
  100.  
  101.    ftpd enable
  102.      Enables creating of new connections.
  103.  
  104.    ftpd disable
  105.      Disables creating of new connections. This has no effect on
  106.      connections already active.
  107.  
  108.  
  109.    ftp use {file}
  110.      Re-reads the configuration file. The command "Connections" (see below)
  111.      is ignored, e.g. the number of connections cannot be changed after
  112.      loading FTPD server.
  113.    
  114.    ftp show
  115.     Display active clients.
  116.  
  117.  
  118. Configuration file
  119.  
  120.  All empty lines and characters right to the '#' are ignored.
  121.  
  122.  Command
  123.   Connections [number]
  124.  
  125.    Determines maximum number of concurrent connections. This command is 
  126.    ignored during reconfiguration by command "ftp reconfig". The command 
  127.    line parameter takes precedence if it is given.
  128.  
  129.     Connections    20
  130.  
  131.    
  132.  Command
  133.   BannerFile [filename]
  134.   
  135.    It determines the file to display before the user has logged in. This
  136.    file must be on the server running FTPD.NLM and must be defined with 
  137.    full path name ("volume:directory/directory/file"). It is read with 
  138.    supervisor's rights.
  139.  
  140.     BannerFile     sys:system/banner.ftp
  141.  
  142.  
  143.  Command
  144.   MaxAnonymous [number]
  145.   
  146.    Determines maximum allowed anonymous connections. This value should be 
  147.    in range 1 to "Connections". If you don't want anonymous access,
  148.    don't create anonymous account.
  149.  
  150.     MaxAnonymous 15   
  151.    
  152.  Command
  153.   Community [name]
  154.  
  155.    This command provides access control. Every new connection is
  156.    assigned a community according to its host IP address. There are
  157.    two predefined communities: "default" and "anonymous". The "default"
  158.    community is assigned to a connection not matching any other
  159.    community, the "anonymous" community is assigned to all connections
  160.    of the "anonymous" users. The number of communities is limited to 20.
  161.  
  162.    Subcommands of the Community command
  163.      Subcommand Address [ip address]
  164.  
  165.       Determines IP address of connections belonging to this
  166.       community. This command must not be used with pre-defined "default"
  167.       and "anonymous" communities and, on the other hand, must be
  168.       used with all other communities. Up to 20 address per community allowed.
  169.  
  170.       Address       147.32.14.1
  171.       Address       147.32.*
  172.       Address       147.*.14.*
  173.       Address        *.felk.cvut.cs
  174.       Address        *.felk.*
  175.      
  176.  
  177.     Subcommand Allow [{server_name/}user_login_name]
  178.     Subcommand Deny [{server_name/}user_login_name]
  179.  
  180.       Determines access restrictions for the community. Maximum
  181.       number of Allow and Deny subcommands in one community is 20.
  182.       User name entered at connect time is matched against listed
  183.       templates in ascending order. When the match is found the access
  184.       is allowed or denied according to the command. If no match is
  185.       found the access is denied. If no "Allow" or "Deny" command was
  186.       used the access is allowed.
  187.  
  188.        Allow            servername/user1
  189.        Deny             */*
  190.        Allow            server*/any
  191.        Deny             ser*abc/def*ght*
  192.  
  193.  
  194.     Subcommand ConnectTime [min]
  195.  
  196.       Determines maximum connection time in minutes. The connection
  197.       is terminated when time has elapsed after active command is
  198.       completed.
  199.  
  200.       ConnectTime      30
  201.  
  202.     Subcommand IdleTime [min]
  203.  
  204.       Determines maximum time in minutes when the connection is idle.
  205.       The connection is terminated after being idle too long.
  206.  
  207.       IdelTime      3
  208.  
  209.     Subcommand ReadOnly
  210.       This restricts access to read only.
  211.  
  212.  
  213.     Subcommand LogFile [file]
  214.       This determines location of the log file. The file must be on
  215.       the server where FTPD is running. The user needs no rights for the
  216.       file. If a directory is specified it must exist. The file length is
  217.       not limited.
  218.  
  219.       Deafult: for "default" community          sys:system\default.log
  220.                pro "anonymous" community        sys:system\anonym.log
  221.  
  222.       LogFile            sys:logs\ftp.log
  223.  
  224.  
  225.     Subcommand LogLevel [num]
  226.       This subcommand controls actions written to the log file.
  227.       Level 0 - no log
  228.       Level 1 - not used
  229.       Level 2 - login, logout and abort info
  230.       Level 3 - level 2 plus outgoing files info
  231.       Level 4 - level 3 plus incoming files info
  232.       Level 8 - log all commands
  233.  
  234.       Deafult: for "default" community          0
  235.                for "anonymous" community        2
  236.  
  237.  
  238.       LogLevel      4
  239.  
  240.  
  241.     Subcommand CommentsFile [filename]
  242.       Determines the file to display after the completion of "CWD"
  243.       command. This file must be in the new current directory set by CWD
  244.       and the user must have rights for reading. There must be no
  245.       path given, only the filename.
  246.  
  247.       Default: none
  248.  
  249.           CommentsFile      README.TXT
  250.  
  251.     Subcommand LogoFile [file]
  252.       Determines the file to display after the user has logged in.
  253.       This file must be on the server where the user has logged in
  254.       and the user must have rights for reading. Full NetWare
  255.       pathname must be specified, but no server name.
  256.  
  257.       Default: none
  258.      
  259.          LogoFile       sys:public/logofile.txt
  260.     
  261.  
  262.     Subcommand ShortLS
  263.       This subcommand determines whether directory entries are visible 
  264.       or invisible in ls (NLST) command. User may control this option via 
  265.       SITE LONGLS (or QUOTE SITE LONGLS) and SITE SHORTLS 
  266.       (or QUOTE SITE SHORTLS) site specific commands.
  267.       
  268.       Default: Directory entries are visible in ls command.
  269.  
  270.         ShortLS
  271.  
  272.     Subcommand HomeDir [directory]
  273.       Overrides standard home directory determination processing and
  274.       sets given home directory for the community.
  275.       
  276.       Default: standard processing(see below).
  277.         
  278.         HomeDir  users:anydir/thisdir
  279.       
  280.       
  281.     Subcommand MacNameSpace
  282.       Determines default name space for this community.
  283.  
  284.       Default: DOS name space
  285.        
  286.         MacNameSpace      
  287.  
  288.  
  289. Non-standard FTP commands
  290.  
  291.   The FTP Server implemets this site specific commands.
  292.    SITE LONGLS
  293.      This command causes directory entries to be visible in ls (NLST)
  294.      command. 
  295.  
  296.    SITE SHORTLS
  297.      This command causes directory entries to be invisible in ls (NLST)
  298.      command.
  299.     Motivation: Directory entries may cause problems with MGET command.
  300.      
  301.    SITE MAC
  302.      Set the name space to Macintosh.
  303.  
  304.    SITE DOS
  305.      Set the name space to DOS.
  306.  
  307.    MACB E and MACB D
  308.      This command switch between BINARY and MACBINARY transfer mode.
  309.      This has meaning only if Mac name space is selected.
  310.  
  311.  
  312. Macros used in CommentFile and LogoFile files.
  313.  All character sequences $[character] are macros. Macros are case sensitive
  314.  and unknown macros are ignored.
  315.  Macro            Expansion
  316.  
  317.   $f        Novell name of server running FTPD
  318.  
  319.   $s        Internet name of server running FTPD
  320.  
  321.   $u        Novell user name, or user name from ID for anonymous.
  322.  
  323.   $h        IP full host name or IP address when host name cannot be
  324.         resolved.
  325.  
  326.   $a        Anonymous ID for anonymous users, empty string otherwise.
  327.  
  328.   $t        Local time in form "Mon Oct 20 11:32:54 1992".
  329.         (without quotes)
  330.   
  331.   $n        Number of logged FTP clients.
  332.  
  333.   $w            "Warning, I cannot map your network address to hostname." 
  334.              if user address cannot be mapped to hostname,
  335.                 empty string otherwise.
  336.  
  337.   $m        Empty string for non-anonymous users.
  338.         For anonymous user:
  339.                if address cannot be mapped to hostname
  340.                   "Warning, I cannot map your network address to hostname." 
  341.          if anonymous id not valid e-mail address expand to
  342.                   "Please, next time use name@hostname as an anonymous id."
  343.           Hostname is substituted with user hostname.
  344.         Valid anonymous id is name@ or name@hostname.domain
  345.  
  346.  
  347. Hints:
  348.  
  349.  - When the user enters the '-' character as the first character of the
  350.    password, no files specified by LogoFile and CommentsFile commands are
  351.    displayed. This character is excluded from the password. Use this
  352.    if your FTP client prints garbage or hangs.
  353.  
  354.  
  355.  - Determining the user home directory:
  356.     1) If there is the subcommand HomeDir specified for a community,
  357.        user home directory is set to this directory.
  358.  
  359.     2) If the user has set the property HOME_DIR (by jrb utilites), current
  360.         directory is set to the HOME_DIR directory.
  361.  
  362.     2) The server searches the trustee list for the user. If it finds
  363.        a directory where the user has explicitly stated rights and the name
  364.        of the directory matches the name of the user (only 8 characters are
  365.        tested), it sets this directory as home directory.
  366.  
  367.  
  368.  - The "cd ~" command changes current directory to user's home directory.
  369.   
  370.  - "Standard" Novell access restriction.
  371.     All standard Novell access restrictions apply for FTP access,
  372.     with this exception:
  373.      Station restriction (network, node address) is ignored when user
  374.      is logged on master server (server running FTPD). On remote servers,
  375.      station restriction is accepted. (Sorry for this, but it is bug in
  376.      Novell's CLIB [or feature :-) ]).
  377.         
  378.  - FTPD users are logged from internal IPX network of master server (server 
  379.    running FTPD), node 1. This can be used for additional access restriction on
  380.    remote servers. 
  381.  
  382.  - If you want to login to remote 386 server, it must have set the option
  383.    "SET Reply To Get Nearest Server=ON". (Novell CLIB bug or feature ?)
  384.  
  385.  - Active FTP connection cannot be cleared from MONITOR.
  386.  
  387.  - Anonymous access
  388.     To enable anonymous access you must create account "ANONYMOUS" 
  389.     without password (on master server) and set the home directory and 
  390.     trustees rights for this user (or use HomeDir subcommand for
  391.     community Anonymous).
  392.     
  393.     If you want to restrict access to this account from local IPX
  394.     network, you can use station restriction to restrict Anonymous to
  395.     master server internal IPX network only.
  396.  
  397.  
  398.  - DOS name space
  399.     FTP daemon accepts two formats of file names. 
  400.  
  401.     First (and preferred) is Unix-like:
  402.       /volume/dir/dir/filename.ext        for full filename specification
  403.      or
  404.       dir/dir/filename.ext        for filename specification
  405.                                         relative to current directory
  406.  
  407.    Second is Netware style:
  408.      volume:/dir/dir/filename.ext    for full filename specification
  409.      volume:dir/dir/filename.ext 
  410.  
  411.     or
  412.      dir/dir/filename.ext             for filename specification
  413.                     relative to current directory
  414.  
  415.  
  416. - Mac name space
  417.    If you have selected Mac name space, you must enter the filename
  418.    like this (even when referring to DOS only name space volumes):
  419.  
  420.     :volume:folder:folder:filename      for full filename specification
  421.    or
  422.     folder:folder:filename        for filename specification 
  423.                     relative to current folder.
  424.  
  425.    If there's no added MAC name space on the target volume, the
  426.    command is processed in DOS name space (colons are processed as
  427.    slashes).
  428.  
  429.    There is no way to enter SITE commands from Mac graphic FTP
  430.    clients. To be able to use Macs, set a community for them with Mac
  431.    name space as default (with subcommand MacNameSpace).
  432.  
  433.    MACBINARY transfer mode is enabled as default (or it shouldn't be ?).
  434.  
  435.    The Mac name space is added after many requests. As I have no
  436.    possibilty to test it with Mac here (we don't have any Macs), this
  437.    should be taken only as the first attempt to make the FTPD
  438.    Mac-compatible. Any help and feedback is very appreciated here.
  439.  
  440.